Real time desktop image warping system

ABSTRACT

The present invention relates to an image warping software algorithm for a real time alteration of a display scene running under the Microsoft Windows Operating System. The image warping software algorithm alters the display scene and allows an observer to view the display scene as a single unbroken image when the display scene is distributed across multiple display screens. The purpose of the image warping software algorithm is to significantly reduce the distortion observed at the abutting edges of the joined display screens.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

The invention described herein may be manufactured and used by or forthe government of the United States of America for governmental purposeswithout the payment of any royalties thereon or therefore.

STATEMENT TO INCORPORATE COMPUTER PROGRAM LISTINGS

This application incorporates herein, by reference, the following twelvecomputer program listings as part of the originally filed specification:

1. AboutCS.txt 1KB in size. File creation date is 8/24/2006. 2.About.DesignerCS.txt 5 KB in size. File creation date is 8/24/2006. 3.ConfigCS.txt 24 KB in size. File creation date is 8/31/2006. 4.ConfigDesignerCS.txt 24 KB in size. File creation date is 8/24/2006. 5.DetailsCS.txt 5 KB in size. File creation date is 8/24/2006. 6.DetailsDesignerCS.txt 15 KB in size. File creation date is 8/24/2006. 7.PlatFormInvokeGDI32CS.txt 2 KB in size. File creation date is 5/24/2006.8. PlatFormInvokeUSER32CS.txt 2 KB in size. File creation date is5/24/2006. 9. ProgramCS.txt 1 KB in size. File creation date is8/24/2006. 10. WarpCS.txt 17 KB in size. File creation date is8/31/2006. 11. WarpDesignerCS.txt 3 KB in size. File creation date is8/24/2006. 12. Win32CS.txt 12 KB in size. File creation date is8/31/2006.

BACKGROUND OF THE INVENTION

1. Field of Invention

The present invention relates to an image warping software algorithm fora real time alteration of a display scene running under the MicrosoftWindows Operating System. The image warping software algorithm altersthe display scene and allows an observer to view the display scene as asingle unbroken image when the display scene is distributed acrossmultiple display screens. The purpose of the image warping softwarealgorithm is to significantly reduce the distortion observed at theabutting edges of the joined display screens.

2. Description of the Prior Art

In order to support the high demand for modern electronic devices to beportable, the display screens on the portable devices are continuing todecrease in size. Some examples of portable devices that are decreasingin size are laptop computers, hand-held devices known as a PersonalDigital Assistants (PDAs), mobile telephones and devices that combinethe features of PDAs and mobile telephones. Increasing the overall sizeof the user display screen for a given portable device, whilemaintaining portability, is a goal of all manufacturers. Demand forreadable information displayed on portable devices has grown as theamount of data, graphics, web pages, e-mails, picture images, GPSmapping images, personal videos, slide presentations, financialinformation, and video games are made available for operation onhand-held applications. The information now being displayed, however, isgetting harder to comfortably see with the naked eye as the portabledevices are configured with smaller displays. This demand has created aneed to increase the size of the portable device display area whilestill maintaining portability. At the opposite end of the demand forshrinking displays lies the demand for larger display formats obtainedby using a number of independent display screens joined to display asingle continuous image. Specifically, there is a demand to displaysatellite imagery and terrain information on a wall sized area usinghigh resolution display units.

U.S. Pat. No. 6,927,908 issued on Aug. 9, 2005 to Bernard Stark,attempts to solve the problem of balancing the demand for large viewingareas using a number of conventional display units. However, the Starkinvention induces distortion at the image breaks coincident with theedge of each display unit. An image break is the area where one displayscreen abuts an adjacent display screen.

In addition to Stark, others have derived solutions to somewhateliminate both the image break and the distortion at the image break.One of these solutions is, to take two display elements and overlayrefraction plates. This approach increases the size and weight of thedisplay device and is therefore undesirable for use with portabledevices and is undesirable for large wall mounted configurations.

Another solution is, to employ a light guide for each pixel in thedisplay to guide the ray of light from the display onto a viewingsurface to obfuscate the image gap. This solution is expensive andtherefore undesirable to consumers and manufacturers.

And yet a third solution is to modify the edges of the display screensthemselves by bending the display screens at the edge to reduce the edgewidth to allow two neighboring display screens to be closer together.This solution reduces the size of the image gap between screens but doesnot avoid it all together and is also difficult to manufacture.

And yet a fourth solution, attempts to solve the distortion problemusing video hardware components to perform the image transformation.

Stark's invention is described as a system of individual display unitswith each display unit having a lens covering to provide opticalproperties at the edge of the viewing area to reduce the image gap. Thepurpose of the lens covering is to create the appearance of a seamlessimage to the observer as the multiple screens are viewed with the singledistributed image. By taking advantage of the refraction of the lenscovering to fill in any visible image gaps between display unit screensthe single distributed image is meant to appear seamless. AlthoughStark's display system attempts to create a seamless image across thejoined display units, there are undesired optical distortions in theimage at the image breaks.

BAE Systems has attempted to eliminate the distortion present in Stark'sdisplay system by developing an offline image seaming software program.BAE Systems' solution is to capture an image and perform a best fittransformation based on the content of the image. Once the best fittransformation was performed, the image was saved as an intentionallydistorted image. A user would then take the intentionally distortedimage and display it onto the multi-display screen system, manuallyaligning the image's intentionally distorted areas to the seams of thedisplay screens. This transformation and alignment counteracts anydistortion due to the presence of the lens thus eliminating thedistortion. Each time a change or modification is performed on theintentionally distorted image, the intentionally distorted image thenunderwent a subsequent best fit transformation, followed by a newlytransformed image being saved, then displayed, followed by an alignmenttask. Also, each time a user wanted to display an entirely differentimage the user must perform the best fit transformation process thenproperly align the intentionally distorted image to the seams of themulti-display unit system. Another drawback of the BAE solution is thatonce the intentionally distorted image was created it was onlycompatible with the multi-display unit configuration for which it wasaligned. The intentionally distorted image could not be routed to adisplay configuration that was not identical to the configuration forwhich the best fit transformation and alignment were performed. The BAEsolution is not performed in real time, is processing intensive, cannotprocess a video stream and is only useful for a fixed set of displayunits.

Accordingly, there is a need for a real-time software solution tosignificantly reduce the distortion present when using the Stark lenssystem. There is a need for a software solution that includes: allowingthe user to input control settings for a multi-display system, using thesettings to control software execution, formatting an image in real timeaccording to user control settings and is capable of handling a videostream and can operationally display the image in real-time usingStark's cover lens invention while significantly reducing the distortioninherent in Stark's cover lens invention.

SUMMARY OF THE INVENTION

Generally, the Real Time Desktop Image Warping system is a real-timeimage warping software algorithm for altering a display scene toovercome the problem of image distortion encountered at the image breaksof multiple display screens when using Stark's lens cover invention.Specifically, the present invention relates to a real-time image warpingsoftware algorithm (RTIW software) that invokes numerous MicrosoftWindows Operating System (OS) features and numerous Graphics DevelopmentInterface (GDI) calls to significantly reduce the distortion induced bythe Stark's lens cover. The display units that together define theoverall viewing area for the distributed image are detected by the OSand are used to determine the image break locations, hereafter referredto as a seam. A seam is an area at the edges of two abutting displayunits that is subject to the Stark lens cover distortion. The RTIWsoftware intentionally distorts, the seam area image by slicing,compressing, duplicating and then reconstituting the seam area image asa warped window according to a series of user defined parameters. Thewarped window significantly reduces the distortion induced as a resultof using Stark's cover lens and provides to the viewer a relativelyseamless image generated real time distributed across multiple displaysunits.

Functionally, there are two parts to the RTIW software. There is a mainexecution thread. The main execution thread controls the overalloperation of the software by determining the quantity and seam threadparameters for each seam thread and by setting the start and stopparameters. Next, there is a block of seam thread processing. The blockof seam thread processing consists of a seam processing call for eachseam thread. The result of each seam thread processing call is to draw awarped window in order to reduce the distortion induced by the Starklens system at the seam.

The main execution thread stops or starts any particular seam threadprocessing and overlays the warped window on the host's computerdisplay. When all seam threads have been set to the satisfaction of theuser all of the warped windows are displayed in real time across themultiple display units such that the viewer cannot detect the operationof the RTIW software.

The novelty of the RTIW software is in the use of the Microsft WindowsOS's rendering capabilities to perform image processing as the userinteracts with the host computer. Having the RTIW software invokeMicrosoft Windows OS's rendering capability allows the Real Time DesktopImage Warping system to create a relatively distortion free image scenethat can be distributed across any number of display units and can adaptto display units that vary in size and type.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a sectional view through the edge of a two-displayscreen system depicting an image break between the two displays.

FIG. 2 illustrates a sectional view through the edge of a two-displayscreen system with an image break between the two displays. Each displayis shown as having a display area and a rounded lens cover covering thedisplay area.

FIG. 3 illustrates a two-display screen system showing refraction of thelight rays as the light rays pass through the Stark lens cover. Therefracted light rays pass through the Stark lens cover straight or bentaccording to their origination point.

FIG. 4 shows the word “Isis” as it is viewed on a two-display screensystem without the Stark lens and without the RTIW software executing.The image gap between the two display screens is evident by the presenceof the broken and split word as the word spans the two display screens.

FIG. 5 shows the word “Isis” as it is viewed on a two-display screensystem through the Stark cover lens while the RTIW software algorithm isexecuting.

FIG. 6 is a flow chart for the main thread of RTIW software algorithm.

FIG. 7 is a flow chart of the seam thread processing portion of the RTIWsoftware algorithm called by the main execution thread.

FIG. 8 graphically represents the slicing, the compression, theduplication and assembling required to produce the warped window.

FIG. 9 is a representation of a user interface screen that will allowthe user to set parameters that will be used as input to the software.

FIG. 10 is a representation of the Seam Details screen that is presentedto the user when a specific seam thread is entered in the seam pull downmenu and the user selects the Seam Detail button shown in FIG. 9.

FIG. 11 is a system level diagram depicting the host computer, the inputimage source and the display hardware that is used to configure anddisplay the warped window.

DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT

It is to be understood that the foregoing general description and thefollowing detailed description are exemplary and explanatory only andare not to be viewed as being restrictive of the present invention, asclaimed. Further advantages of this invention will be apparent after areview of the following detailed description of the disclosedembodiments which are illustrated in the accompanying drawings anddescribed in the appended claims.

FIG. 1 depicts a sectional view through the edge of two identical andadjacent display screens 100. In the preferred embodiment the displayscreens 10 and 10′ are a Liquid Crystal Display (LCD) type. Applicant'sinvention is not limited to any particular type of display screen. Thedisplay screen 10 has a substrate 20, which can additionally include aglass plate, a polarizing element or a back light element. As depicted,the substrate 20 does not include a glass plate, a polarizing element ora back light element. Layered upon the substrate 20 is a layer ofdisplay elements 30 that serve as a matrix of pixels to generate theimage scene. The display elements 30 contain a plurality of electrodes(not shown) for controlling the activity of each display element. In thepreferred embodiment, the display elements are liquid crystals. Theapplicant's invention is not limited to liquid crystal display elementssince a variety of display technologies are available. A glass cover 40is mounted above the display elements 30 such that it is the outermostlayer of the display screen 10.

The display screen 10 is bounded by a side wall 50, which provides bothmechanical protection for the display screen 10 and containment of thedisplay elements 30. Due to the thickness of the side wall 50, there isan optically inactive area 60 adjacent to the side wall 50 that is notcapable of displaying any portion of the image. This optically inactivearea 60 is between 1 mm to 1.5 mm wide for a typical LCD display screen.

When placing two LCD display screens (10 and 10′) adjacent to oneanother an image break 80 exists between the two display screens (10 and10′). The image break 80 is defined by the optically inactive area 60 ofboth display screens (10 and 10′) and the width of the side wall 50 ofboth display screens (10 and 10′). Relative to an observer, significantreduction or complete elimination of this image break 80, which distortsthe distributed image, is the object of the applicant's invention.

Referring to FIG. 2, a sectional view through the edge of two displayscreens 200 are shown as modified by the patent to Stark. Themodification is accomplished by replacing the lens cover 40 of FIG. 1with a Stark lens cover 240 having curved edges 250. The radius of thecurved edges 250 are as described in the patent to Stark. The curvature250 of the lens cover 240 refracts light rays 270 passing through thelens cover 240 having the effect of reducing the width of the imagebreak 281 from its original width (FIG. 1 item 80).

FIG. 3 depicts a view 300 from the perspective of the observer 310 asthe observer views the display from a vantage point that isperpendicular to the planar portion 360 of the Stark lens cover 240.There is shown a virtual point A located at the optically inactiveregion 60. Point A is geometrically in line with the observers 310vantage point but the information from a pixel located at point A′ iswhat the observer perceives. The information from the pixel located atA′ is refracted by the lens' curvature 250. The person observing thedisplay screens (10 and 10′) perceives that the optically inactiveregion 60 is optically active, producing the effect of narrowing theimage break 80 to the width of the Stark image break 281. The distortioninduced by Stark's lens cover system is evident when the light rays 270are examined. The base of light rays 270 originate at the pixel layer 30and pass through the curved portion 250 of Stark's lens cover. As thelight rays 270 pass through the curved portion 250 of Stark's lens covera magnification takes place and distorts the image. The magnification isdenoted by the spreading of the light rays 270, relative to the spacingat the point of origin 30 and the spacing at the surface of the Starklens cover 250.

Referring to FIG. 4, item 400 shows the word “Isis” as it is viewed on atwo-display screen system without the Stark lens and without the RTIWsoftware executing. Specifically depicted is a single image scene 410 isspread across two display screens (FIGS. 1, 10 and 10′) without theStark lens cover and without the applicant's RTIW software operating.The image break 80 distorts the image of the word “Isis” 70 as viewed bythe observer.

Referring to FIG. 5, item 500 shows the word “Isis” as it is viewed on atwo-display screen system through the stark cover lens while the RTIWsoftware algorithm is executing. Specifically depicted is a single imagescene when the Stark lens cover (FIG. 2 item 240) is used in conjunctionwith the RTIW software, the resulting visual effect to the observer is asingle image scene (FIG. 5 item 510). The word “Isis” 70 that appears tohave almost no image break 520 and therefore results in a significantreduction in the amount of distortion.

Referring to FIG. 11, prior to starting the RTIW software application1140 the user must provide an image source 1120 to the host computer1100. The image source 1120 is either a video signal, or a static imagescene, or some other type of image format. The Microsoft Windows OS 1110processes the image source 1120 information and displays the imagesource 1120 on the host computer's monitor 1170 in a static format. Thisstatically formatted image is the basis from which the warped window foreach seam will be created. The user will view the statically formattedimage and determine the seam area, which is coincident with an imagebreak. Each image break requires a seam to be identified from which awarped window may be created and then overlayed. The overlaying of thewarped window onto the image break area is what reduces the distortioninduced by the Stark lens system.

FIG. 6 is a high-level flowchart of the main execution thread 600 of theRTIW software algorithm. The user will launch the RTIW softwareapplication (FIG. 11 item, 1140) and start the main execution thread 600of the RTIW software application (FIG. 11 item, 1140) by double clickinga WarpDrive shortcut or icon (not shown) on a window that is part of thehost computer interface, typically located on either the task bar ordesktop.

The RTIW software application (FIG. 11 item, 1140) takes advantage ofthe library of programming commands inherent in Microsoft Windows,beginning with version XP, that allow customized interface windows to bebuilt. The customized interface windows use common controls such asmaximize, minimize, close, pull down menus and buttons that can bedefined to control program actions and are collectively referred to as aGraphical User Interface (GUI) (FIG. 11 item, 1160). The RTIW softwareapplication (FIG. 11 item, 1140) also relies on the ability of MicrosoftWindows to report on and to configure the display environment.

FIG. 9 is representative of a primary interface window 910 appearing asa result of launching the RTIW software and is used to determine thedisplay unit configuration and for setting the input parameters requiredby the main execution thread (FIG. 6 item 610). The primary interfacewindow 910 is built with Windows attributes for minimizing, maximizing,closing, pull down menus, mouse control, keyboard control, navigationcontrol and dialog boxes. The primary interface window 910 is muchsmaller than the statically formatted image and is displayed on top ofthe statically formatted image. The primary interface window 910 is madeup of two distinct areas. The first area 915 presents the display unitconfiguration and a second area 917 accepts the input parameters used bythe main execution thread.

The first area 915 represents the configuration of the multiple displayunits and is used to identify both the seam locations and the seamquantity. The display unit configuration is obtained from the Windows OSutility that queries the host computers monitor interface and interactswith the Microsoft Windows OS utility that is available via theMicrosoft Windows control panel option for viewing and controllingmonitor properties. There are a total of three vertical seams (920, 921and 923) shown in the first area 915.

The RTIW software application now requires that the user accurately setthe input parameters used by the main execution thread 600. In thepreferred embodiment, a variety of information and controls arepresented to the user in the input parameter 917 portion of primaryinterface window 910. The number of seams listed in the pull down menu925 corresponds to the number of seams in the display unit layout 915 asdetermined by the Microsoft Windows control panel utility for viewingand controlling monitor properties. Here three vertical seams (920, 921and 923) are selectable. The user is provided the option to select aparticular seam by using the pull down menu 925, here seam two isselected.

The user would then select the Seam Detail button 930 to define the fourcorners of the warped window area. Selecting the Seam Detail button 930,results in a new window appearing as shown in FIG. 10. The Seam Detailwindow 931 is used to define the maximum size of the warped window, atthe pixel level, for the selected seam number two 932. The corners ofthe seam are set by defining the parameters in the area denoted by item934, the “Top” position, the “Left” position, the “Height” and “Width”of a rectangle (not shown) which is relative to the pixel positions forthe source image displayed on the host computer's display. The user thensets the maximum size of the zoom width 936 to a value appropriate forthe Stark lens in place, as an example a value of thirty is selected.The zoom width is a parameter that is later used to calculate acompression coefficient if the user elects to change the compressioncoefficient from the recommended value of 0.75.

Two other parameters are available for adjustment which will furtherreduce the distortion, an eye height center 937 and a barreling factor938. The eye height center 937 for the display and the barreling factor938 are dynamically applied in real time for immediate viewing on thehost computer display. The last parameter that is available foradjustment is the number of horizontal slices 935. The number ofhorizontal slices 935 is the number of subdivisions within a seam whichare used in conjunction with the barreling factor to significantlyreduce the distortion. Once all of the parameters are set in the SeamDetail window 931 the user selects the “OK button 939 to transition backto the primary input parameter window 910.

Referring to FIG. 9, two boxes are available and must be checked toenable and view the results of seam processing on the host computer'sdisplay. The first box 956, enables seam mode processing and must bechecked to initiate seam processing. The second box 957, enters a debugmode displays detailed operation on the warping operation, allowing theuser to dynamically reconfigure the seam width 951 and the zoom width952 while observing the results of the dynamic reconfiguration in realtime on the host computer's display (FIG. 11 item, 1170). Deselectingthe debug mode box 957 and selecting the apply button 965 will route theseam processing results to the multiple display units instead of theseam configuration window. A control button 950 to stop warp processingis also provided to the user. To cease operation of the RTIW software anexit button 970 is provided.

The user is provided a button 960 to save the input parameter settingsto a file for storage in computer memory (FIG. 11 item, 1130). The useris also provided a button 955 to load the input parameter settings froma previously stored file when a multiple display configuration isrepeatedly used.

The RTIW software application (FIG. 11 item, 1140) communicates with theMicrosoft Windows OS via GDI (FIG. 11 item, 1150) calls to dynamicallysuperimpose a rectangle (not shown) over the source image to representthe seam width selections for the warped window and a rectangle (notshown) over the source image to represent the zoom width selections forthe warped window once the user initiates seam processing by selectingthe Start Warp button 954, provided that the user has selected the Debugcheck box 957.

Referring to FIG. 6, the seam processing module 620 invokes seamprocessing per the input parameters set in the input setting module 610.Detailed operation of the seam processing module 620 is shown in FIG. 7and begins by taking a screen shot of the source image in module step622. A screen shot is an image capture using GDI (FIG. 11 item, 1150)calls where the image captured has a size as defined by the boundariesfor the warped window set by the user via the Seam Detail window (FIG.10 item 934) or is automatically generated by the application using thedisplay screen configuration based upon the display screen configurationinformation detected by the Microsoft OS. The screen shot is then brokeninto three slices by first extracting a zoom slice, module step 624,then using the width of the zoom slice to determine the remaining twoslices, module step 626. The zoom slice is then compressed, module step630, to three quarters of its original width. The remaining slices arethen compressed, module step 632, and the middle portion of the screenshot area is duplicated, module step 634. The result is four slices fromthe original three slices that are then assembled, module step 635, andfitted into the original width of the screen shot and output in modulestep 636 as a warped window.

The functionality of the seam processing module (FIG. 7 item 620) willnow by described in detail. Referring to FIG. 8, the first slice (S1)810 extracted from of the screen shot 805 is taken from the leftmostportion of the screen shot 805 and is as wide as the zoom width setting(FIG. 10 item 936). The next slice (S3) 820 is taken from the rightmostportion of the screen shot 805 and is also as wide as the zoom widthsetting (FIG. 10 item 936).

The S1 slice is then compressed (FIG. 7 item 626) to three quarters ofthe zoom width setting (FIG. 10 item 936) resulting in slice CS1 850,see Equation 1.

Width of CS1=0.75*Width of S1  Equation 1

The S3 slice is then compressed (FIG. 7 item 632) to three quarters ofthe zoom width setting (FIG. 10 item 936) resulting in slice CS3 860,see Equation 2.

Width of CS3=0.75*Width of S3  Equation 2

The S2 830 slice must be compressed to a slice (CS2) 870 having a widthsuch that when CS2 870 is duplicated (FIG. 7 item 634) both of the CS2870 slices will fit into the area left vacant by CS1 850 and CS3 860.

The width of the last slice CS2 870 is determined per Equation 3.

Width of CS2=(Seam Width−(Width of CS1+Width of CS3))/2  Equation 3

All four slices, slice CS1 850, both CS2 slices 870 and slice CS3 860are assembled to produce a warped window 880.

The user can now perform a fine adjustment to the width of seam two 921by dragging the slider 975 between the minimum value, the far left endof the bar, to the maximum value of two hundred fifty pixels, “250 px”,where the maximum value was set in the Seam Detail (FIG. 10 item 934)window. The user can then perform a fine adjustment to the zoom width952 by dragging the slider 977 between the minimum value the far leftend of the bar, to the maximum value, the far right end of the bar.Again, our example uses a maximum value of thirty pixels, “30 px”, wherethe maximum value was entered by the user in the Seam Detail (FIG. 10item 934) window. The impact of the fine adjustments for the seam andzoom widths are made available for observation on a real time basis bythe use of GDI processing. The observer is provided immediate feedbackof the fine adjustments by observing changes to the warp window previewarea of the control panel (FIG. 9 item 910) as it lies on top of thestatically formatted source image. The warped window is transparent tonormal Microsoft Windows user activity such as mouse clicks and keyboardevents.

Referring to FIG. 6, the flow chart 600 for the main thread of RTIWsoftware application algorithm; when the user is satisfied that thewarped window will cover the seam the user sends a close command, whichcauses the main thread to become dormant and hides the control panel(FIG. 9 item 910). As long as the user does not stop the warped windowprocessing the main thread continuously monitors for changes to the userinputs 610. When the quit command 640 is detected the main thread checksto see if another warped window 650 requires adjustment or defining. Ifno other warped window is selected the main thread monitors the usercommands 660 for commands to save the settings, apply the settings or toexit the RTIW software application.

1. A computer program product in a computer readable medium havingcomputer program code recorded thereon, wherein the program codeincludes sets of instructions comprising: first computer instructionsfor generating a real time image warping system graphical user interfaceresiding on a host computer; second computer instructions formaintaining an input parameter memory within said host computer; thirdcomputer instructions for accepting a plurality of input parametersgenerated by manipulating a plurality of software programmed interfacesmaintained by and displayed on said real time image warping systemgraphical user interface wherein said plurality of input parameters arestored in said input parameter memory; fourth computer instructions forcommunicating with a graphics development interface, where said graphicsdevelopment interface is in communication with an operating systemexecuting on said host computer; fifth computer instructions forperforming a screen capture from an image source wherein said screencapture contains a plurality of seams wherein each seam has a seam areaset by a seam width parameter stored within said input parameter memory;sixth computer instructions for slicing said seam area into a firstslice, a second slice and a third slice according to a zoom widthparameter stored within said input parameter memory; seventh computerinstructions for compressing said first slice and said third sliceaccording to a compression coefficient resulting in a compressed firstslice CS1 and a compressed third slice CS3; eighth computer instructionsfor compressing said second slice resulting in a compressed second sliceCS2 wherein said compressed second slice CS2 has a slice width accordingto the equation:width of CS2=(seam width−(width of CS1+width of CS3))/2; ninth computerinstructions for duplicating said compressed second slice resulting inan identical pair of compressed second slices; tenth computerinstructions for assembling a warped window consisting of saidcompressed first slice, said compressed third slice, said identical pairof compressed second slices where said first compressed slice and saidthird compressed slice maintain a position consistent with a pre-slicedposition; eleventh computer instruction for displaying said warpedwindow over said image source in real time on a monitor connected tosaid host computer according to a series of commands from said real timeimage warping system graphical user interface acted upon by saidgraphical development interface executing on said host computer; andtwelfth computer instruction for routing said warped window to aplurality of display units to effectuate an alteration to a real timeimage source distributed across said plurality of display units whereinsaid alteration mitigates a distortion at the abutting edges of saidplurality of display units induced by a lens system.
 2. The computerprogram product of claim 1 wherein said warped window displayed on saidmonitor is dynamically updated in real time to reflect a change to saidinput parameter memory.
 3. The computer program product of claim 1wherein said seam has an orientation that includes a vertical seam and ahorizontal seam.
 4. The computer program product of claim 1 wherein saidcompression coefficient is 0.75.
 5. The computer program product ofclaim 1 wherein said plurality of input parameters includes an eyeheight center, a barreling factor, a horizontal slice parameter and apixel definition of said warp window boundaries.
 6. The computer programproduct of claim 1 wherein said image source includes a video stream, astatic image, or a series of static images.
 7. A computer programdirectly loadable into an internal memory of a digital computer,comprising a program code for producing a real time warped window, saidprogram code comprises a set of instructions for: accepting a pluralityof input parameters wherein said plurality of input parameters areaccepted via a multi-level graphical user interface displayed on amonitor connected to said digital computer; storing said plurality ofinput parameters in an internal parameter memory residing in saiddigital computer wherein said internal parameter memory is incommunication a multi-level graphical user interface; taking a screenshot by invoking an image processing software program integral to saidhost computer in communication with a graphical development interfacethat is integral to said host computer resulting in a staticallyformatted image; extracting, from said statically formatted image a seamarea having a seam width determined by a seam width parameter;processing said seam area wherein said processing includes digitallyslicing said window area into three slices having a slice width dictatedby a zoom width parameter, compressing a leftmost slice according to awidth compression factor and compressing a rightmost slice according tosaid width compression factor resulting in a compressed leftmost sliceand a compressed rightmost slice; compressing a remaining middle sliceand then duplicating said remaining middle slice resulting in a pair ofidentical compressed middle slices wherein said pair of identicalcompressed middle slices fits into a middle portion of said seam areanot occupied by said compressed leftmost slice and said compressedrightmost slice; assembling said compressed leftmost slice, said pair ofidentical compressed middle slices, said rightmost slice into said seamarea producing a warped window; refining a shape of said warped windowby changing said seam width parameter and said zoom width parameter bymanipulating said multi-level graphical user interface resulting in awarped window that mitigates a distortion induced by a lens system; androuting said warped window to a plurality of joined display screenswherein said joined display screens appear as a single screen due tosaid warped window's mitigation of said distortion induced by a lenssystem.
 8. The program code of claim 7 wherein said compression factoris 0.75.
 9. The program code of claim 7 wherein said input parametersinclude an eye height center, a barreling factor, a horizontal sliceparameter and a pixel definition of said warp window boundaries.
 10. Theprogram code of claim 7 wherein said multi-level graphical userinterface monitors in real time a plurality of user commands to controlsaid extracting, said processing and said compressing operations. 11.The program code of claim 7 wherein said screen shot is taken from aplurality of image formats including a video stream, a static image, ora series of static images.
 12. The program code of claim 7 wherein saidseam width is oriented vertically.
 13. The program code of claim 7wherein said seam width is oriented horizontally.